草庐IT

php - 从 PHP 缓存 header

全部标签

ruby-on-rails - 在 Rails 4 中检测用户代理 - 读取 HTTP header

我刚刚从PHP切换到RubyonRails,想知道是否有一种方法可以检测客户端设备/用户代理(读取HTTPheader),以便根据收到的请求为网站的不同版本提供服务。在PHP中我一直在使用MobileDetect这样做。一般的想法是只提供每个特定版本所需的文件。这就是为什么客户端方法不是那么有效。有没有办法用Ruby2.0.0和Rails4.0.0做类似的事情?也许有gem可以处理这样的情况? 最佳答案 检查request方法,在那里你可以获得ActionDispatch::Request您拥有所有请求参数,包括用户代理。reque

ruby - 如何在需要必要的库和/或 header 时安装 ruby​​-debug

我的Rails是3.2.1.4,Ruby是1.9.3p448。我在安装ruby-debug时遇到错误:Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingruby-debug:ERROR:Failedtobuildgemnativeextension./home/hxh/.rvm/rubies/ruby-1.9.3-p448/bin/rubyextconf.rbCan'thandle1.9.xyet***extconf.rbfailed***CouldnotcreateMakefileduetosome

ruby-on-rails - Rails 4.0 expire_fragment/缓存过期不起作用

我一直在尝试使用Rails的缓存功能,但我无法使某些缓存片段过期,尽管它们似乎已过期。使用Rails教程站点中指出的“俄罗斯娃娃缓存”,我正在使用此配置我在release_controller.rbController中使外部缓存过期,我在其中使用expire_fragment("all_available_releases")使片段过期。我在更新、删除或添加条目的Controller的每个方法中都使用它。这是WEBrick的日志,尽管过期片段已在其中注册,但5行后过期片段被读取并使用,而这是不应该的。这个例子是在destroy调用之后。ProcessingbyReleasesCont

ruby - 散列中的 ActiveRecord 对象未被垃圾收集——一个错误或某种缓存功能?

我有一个名为Student的简单ActiveRecord模型,表中有100条记录。我在Rails控制台session中执行以下操作:ObjectSpace.each_object(ActiveRecord::Base).count#=>0x=Student.allObjectSpace.each_object(ActiveRecord::Base).count#=>100x=nilGC.startObjectSpace.each_object(ActiveRecord::Base).count#=>0#Good!现在我执行以下操作:ObjectSpace.each_object(Act

带 header 的 Ruby https POST

如何使用json在Ruby中创建带有header的Https帖子?我试过:uri=URI.parse("https://...")https=Net::HTTP.new(uri.host,uri.port)req=Net::HTTP::Post.new(uri.path)req['foo']=barres=https.request(req)putsres.body 最佳答案 问题是json。这解决了我的问题。无论如何,我的问题不清楚,所以赏金给了Jurirequire'uri'require'net/http'require'ne

ruby - 在 Ruby 中设置请求 header

我有其余的客户端gem,我正在定义这样的请求:url='http://someurl'request={"data"=>data}.to_jsonresponse=RestClient.post(url,request,:content_type=>:json,:accept=>:json)但是我需要将HTTPheader设置为某些内容。例如APIkey。这可以在curl中完成:curl-XHEAD-Hx-auth-user:myusername-Hx-auth-key:mykey"url"在ruby​​中执行此操作的最佳方法是什么?使用这个gem?或者我可以手动执行此操作以获得更多控

ruby - 如何在 OpenURI 中指定 "http request header"

我正在尝试使用Ruby的OpenURIgem调用URL,但是它需要我在其HTTP请求header中传递某些值。知道怎么做吗? 最佳答案 根据thedocumentation,您可以将httpheader的哈希值作为第二个参数传递给open:open("http://www.ruby-lang.org/en/","User-Agent"=>"Ruby/#{RUBY_VERSION}","From"=>"foo@bar.invalid","Referer"=>"http://www.ruby-lang.org/"){|f|#...}

ruby - Rack::Request - 如何获取所有 header ?

标题是不言自明的。有什么方法可以获取header(Rack::Request.env[]除外)? 最佳答案 HTTPheader在Rackenvironment中可用。传递给您的应用:HTTP_Variables:Variablescorrespondingtotheclient-suppliedHTTPrequestheaders(i.e.,variableswhosenamesbeginwithHTTP_).Thepresenceorabsenceofthesevariablesshouldcorrespondwiththepr

ruby - 如何让 Sinatra 避免添加 X-Frame-Options header ?

我正在使用Sinatra返回一些IFRAME内容,我想允许跨域src。不幸的是,Sinatra会自动在我的响应中添加一个X-Frame-Optionsheader。我该如何关闭它? 最佳答案 Sinatra使用Rack::Protection,特别是frame_options选项,这是设置X-Frame-Optionsheader的内容。您可以configurewhichprotectionsareused.默认情况下,Sinatra会打开它们中的大部分(有些仅在您也使用session时才启用,而Rack::Protection本身

ruby-on-rails - 是否有与 PHP 的 isset() 等效的 Rails?

基本上只是检查以确保设置了url参数。我如何在PHP中做到这一点:if(isset($_POST['foo'])&&isset($_POST['bar'])){}这是RoR中isset()的粗略/最佳等价物吗?if(!params['foo'].nil?&&!params['bar'].nil?)end 最佳答案 更接近的匹配可能是#present?#returnstrueifnotnilandnotblankparams['foo'].present?还有一些其他的方法#returnstrueifnilparams['foo'].